Existing software-based security services make the implicit assumption that a computing device or platform is trusted. They provide application-level security on the assumption that they execute in a safe environment. This assumption is true enough to justify the level of security required for existing business models, but state-of the-art security functions are already providing the highest levels of protection that are possible without additional hardware support.
To this end, the Trusted Platform Computing Alliance (TPCA) describes in the TCPA Main Specification, Version 1.1, Jul. 31, 2001 a Trusted Platform Module (TPM) or physical token that provides increased confidence and that enables enhancements of existing services and new services. The TPM supports auditing and logging of software processes, platform boot integrity, file integrity, and software licensing. The TPM provides a protected information store for the platform that can be used to attest to the identity of the platform as defined by the hardware that is present (e.g. processors, chipsets, firmware, etc.). These features encourage third parties to grant the platform access to information that would otherwise be denied.
The TPM contains an isolated computing engine whose processes can be trusted because they cannot be altered. These processes and the binding of the subsystem to the platform can combine to reliably measure and report the state of the main computing environment inside the platform. The TPM provides a root of trust for the booting of the platform. While it is the Owner's responsibility to provide a safe operating system for a platform, once the OS has loaded, it can report the loading of untrusted software to the TPM before that untrusted software is loaded. The TPM can therefore report measured data that indicates the current state of the main software environment in the platform. A local or remote entity can simply query the TPM to reliably obtain these measurements and decide whether the platform's behavior enables it to be trusted for the intended purpose. Confidence in the loading of software is improved, because the TPM can attest to the current state of the operating system.
The TPM may act as a portal to confidential data, and may allow the release or use of that data only in the presence of a particular combination of access rights and software environment. Of course, the protected store of the TPM may be used for any sensitive data, not just identity information. The TPM may export these services to system-level software security services (such as IPSec) that are themselves called as services by ordinary applications. This arrangement enables greater confidence in the identity of a platform, while simultaneously allowing platform anonymity if so desired. Hence, any application that invokes proof of identity can be used with greater confidence and be allowed greater power.